在前一篇文章,學到如何用firecrawl來爬Threads的探店文章並存進Notion。但因為他只可以抓500次的網頁,用完就沒了,如果想要每個月都有免費額度去爬蟲的話,就可以使用到另一個爬蟲工具-Apify。今天會在n8n實作兩個Apify的抓取方式-HTTP Request、Apify 節點(新出的)
是一個雲端爬蟲與自動化平台,核心概念是提供各種「Actor」(預先寫好的爬蟲/自動化腳本),擁有超過 4,000 款現成 Actors,涵蓋 Google Maps、Instagram、Titok 等各大網站。使用者只要輸入參數,就能在 Apify 平台上自動執行並產生結果。也就是說它已經把繁瑣的爬蟲程式寫作過程封裝好了,我們只需要關心要「輸入什麼」、「輸出什麼」。它的執行後的結果會以 JSON、CSV 等格式輸出,所以也非常方便與其他系統整合。
前置作業
n8n實作
使用HTTP Request
- 主要優點是更靈活,可以完全客製化 API 請求,所以對於Apify API使用格式要有一定的了解。
return items.map(item => {
// 營業時間:若沒有則設為空陣列
const hours = item.json['營業時間'] || [];
// 把陣列轉成「星期:時間」格式的多行文字
const formatted = hours.map(h => `${h.day}:${h.hours}`).join("\n");
// 輸出一個新的欄位,給 Notion 的文字欄位使用
item.json["營業時間_text"] = formatted;
// 介紹:若為null,改為「暫無介紹」
let description = item.json['介紹'];
if (typeof description !== "string" || description.trim() === "") {
description = "暫無介紹";
}
item.json['介紹'] = description;
return item;
});
使用Apify 節點
- 適合新手、想要快速上手的人,因為介面友善,直接選 Actor、輸入參數就好
- 它會自動處理 API 認證與回傳格式,省下大量設定時間。
https://apify.com/
https://thunderbit.com/zh-Hant/blog/apify-review-and-alternative
https://tenten.co/learning/firecrawl-guide/
https://youtu.be/gZ_RLC25gCw?si=Dc13WDgOkrZ6pC-2
https://youtu.be/xsRtBCcskMA?si=_MRUZDCcP_zjaz23